iT邦幫忙

2022 iThome 鐵人賽

DAY 7
0

本文目標:

  • 認識 PDU Session
  • 核心網路中 QoS 的實作

進入正題:什麼是 PDU Session

PDU (Packet Data Unit) Session 是為 UE 與 DN (Data Network) 提供 PDU 連線服務的資料通道。
PDU Session 有以下幾種類型:

  • IPv4
  • IPv6
  • Ethernet
  • Unstructured

換句話說,我們的手機向核心網路完成註冊以後,如果有資料需要傳送還需要向核心網路發起 PDU Session 的建立程序。
與 PDU Session 有關的 Procedure 有:

1. PDU Session Establishment

PDU Session Establishment 在很多情況下都會觸發,像是:

  1. 為了建立一個新的 PDU Session
  2. 從 4G 網路 Handover 已經存在的 PDU Connection
  3. 在 3GPP 與 Non-3GPP 之間的 PDU Session 做切換
  4. 為了緊急服務註冊的 PDU Session

2. PDU Session Release

PDU Session Release 用於釋放與指定 PDU Session 有關的資源,包括:

  1. 為了 IP-based PDU Session 分配的 IP Address 或是 Prefix
  2. 任何有關該 PDU Session 的 UPF 資源(N3 或是 N9 Interface)

3. PDU Session Modification

當 UE 與核網之間流通的 QoS parameters 修改時,該流程就會被觸發。
觸發 Modification 的角色可以是 UE 也可以是核網端,核網端會在相關的 Policy 修改時由 PCF 通知 SMF 觸發該流程。

作者的話:
上面提到的 Policy 修改場景可以想成是使用者向電信業者修改了電話資費,所以新的資費對應到的 QoS 設定會需要套用到核心網路端。

PDU Session 中的 QoS

QoS Flow 是 PDU Session 裡面的最小單位,一個 Session 可以有很多個 QoS Flow,每一個 QoS Flow 都有不同的上下行流量設定。

image

上圖取自 https://www.5gworldpro.com/5g-knowledge/what-is-pdu-session-in-5g.html

以上圖為例,UE 一共建立了兩個 PDU Session,一個用於 Internet 連線,一個用於 IMS Voice。

作者的話:
DRB: Data Radio Bearer 是 UE 與基地台之間的乘載,每一個 DRB 都會有基地台為它分配的 DRB ID。

與 PDU Session 相關的 IE

1. S-NSSAI

用於識別該 PDU Session 屬於哪一塊網路切片。

2. PDU Session ID

儲存於 UE 與核心網路之間的 Identifier。

3. Request Type

在本文的最一開始有提到,PDU Session 有:

  • IPv4
  • IPv6
  • Ethernet
  • Unstructured

一共 4 個類型,Request Type 就是用來表示 PDU Session 類別的 IE。

4. DNN

表示該 PDU Session 提供連線的網路名稱。

5. User Plane Security Information

表示是否對 PDU Session 啟用加密與完整性保護。

6. SSC Mode (Service and Session Continuity mode)

SSC Mode 用於保證 PDU Session 服務的連續性。

5G System 支援三種不同的 SSC Mode,當 PDU Session 被建立時會被指定其中一個 SSC Mode,在整個 Session 的生命週期中 SSC Mode 都不會被改變。

  • Mode 1

    從始至終 UE 都不會改由其他 UPF 服務。

  • Mode 2

    如果 UE 要更換 Serving SMF 或是 UPF,需要先釋出當前的 PDU Session,等待釋放後才能建立新的 Session。

    TS 23.502 4.3.51 有針對 SSC Mode 2 下 ULCL 的流程圖。

  • Mode 3

    比起 Mode 2,Mode 3 允許 UE 先建立新的 PDU Session,再將原本用來服務的 Session 釋出,在這個模式下的服務性應當是最好的。

    補充:
    SSC Mode 3 僅支援 IP Type 的 PDU Session,接入的話可以是 3GPP 或是 Non-3GPP 類型。

什麼是 QoS?

QoS (Quality of Service) 是一種控制機制,它能夠對資料流的流量與速率進行控制。
一般來說,電信營運商都會有 QoS 的需求,因為他們需要對使用者的流量、網路速度進行控制,以台灣的 4G 吃到飽方案來看,費率從 199 - 1899 不等,方案之間的差異除了每個月固定的市話額度不同,剩下的就跟 QoS 有關了,本篇文章會搭配 3GPP TS 23.501 與筆者個人的初淺的理解來向大家說明 QoS,如果內容有誤歡迎大家在留言處指正。

5G QoS model

5G QoS model 以 5G QoS flow 為基礎,每一個 5G QoS flow 都可以依據是否有保證速率劃分成:

  • GBR (Guaranteed Bit Rate) flow
  • Non-GBR flow

兩者的差異也如上面所說,GBR flow 會有一定的服務品質保證,而 Non-GBR flow 只會提供一個最大的傳輸速率,這倆者因為功能上的不同所以會有不同的 Information Element (IE),這些 IE 也會在稍後進行補充。
在更深入的探討 GBR 與 Non-GBR 的差別之前,筆者統整了一些 TS 23.501 上關於 QoS Flow 的重要描述:

1. QoS Flow is the finest granularity of QoS differentiation in the PDU Session.

5G 網絡以 Data Packet 的形式將 UE 和外部網絡 PDN (Public Data Network) 之間的資料進行傳輸。
PDU (Packet Data Unit) Session 則是 UE 與外部網路之間的一個數據通道,每一個 PDU Session 可以根據不同的規劃分配不同的 QoS Rule,而最好細分 QoS 的方式就是使用 QoS flow。

2. A QoS Flow ID (QFI) is used to identify a QoS Flow in the 5G System.

如果在 PDU Session 內有多個 User Plan traffic 具有同樣的 QFI,那麼這些 traffic 會得到相同的對待,這裡的對待是指:排程、門檻值...等等。
QFI 會被封裝在 GTP-U 封包的 Header 當中(也就是 N3 與 N9 這兩個 Reference point),QFI 的值可以跟 5QI 相同也可以被動態的指派。

3. QoS Any QoS Flow is characterized by:

  • (R)AN 可以透過預先設定或是由 SMF 透過 N2 (AMF) 取得 QoS Profile
  • UE 可以透過 Reflective QoS Control 或是由 SMF 透過 N1 (AMF) 取得一個或多個 QoS Rule 以及一些可選的 QoS parameters
  • UPF 可以取得由 SMF 提供的 Uplink/Downlink PDR(s)

對每一個 QoS Flow 來說,QoS Profile 都需要包含:

  • 5QI (5G QoS ID)

    5QI 是一個用來識別 QoS 特徵的參考,不同的 5QI 會 mapping 不同的 QoS 參數,這些參數包含了 Packet Error RateResource TypePriority Level...等.
    等。
    詳細的資料請參考 TS 23.501 Standardized 5QI to QoS characteristics mapping 章節。

  • ARP (Allocation and Retention Priority)

    • ARP 代表 QoS Flow 的搶佔能力,從最高到最低為 1 到 15。
    • ARP 通常會用於 GBR QoS Flow 上(為了保證一定的 QoS)。

對 Non-GBR QoS Flow 來說,它可能會包含:

  • RQA (Reflective QoS Attribute)

    如果 SMF 並沒有提供 DL QoS Rule 且 UE 支援 Reflective QoS 的功能,那麼 UE 就能透過收到的 DL Data 反推可能的 QoS Rule 並套用它。
    只有當 RAN (透過 N2 從 SMF)收到 RQA Enable 的訊息時,RAN 才會傳輸與這個 QoS Flow 對應的 RAN 資源的 RQI 給 UE。

對 GBR QoS Flow 來說,它必須包含:

  • UL/DL Guaranteed Flow Bit Rate (GFBR)
    GFBR 用來表示一個 QoS Flow 至少會以這個速率進行傳輸。
  • UL/DL Maximum Flow Bit Rate (MFBR)
    MFBR 用來表示這個 QoS Flow 的最高速率。

補充:MFBR 或是 GFBR 的單位都是 kb/s

且可能包含:

  • Notification control
  • UL/DL Maximum Packet Loss Rate

4. 每一個 PDU Session 至少都需要有一個套用預設 QoS Rule 設定的 QoS flow,且這個 flow 必須是 Non-GBR flow。

QoS Rule

  • UE 會為 UL 封包進行分類並標記,此外,UE 會透過 PDU Session Establishment 或是 PDU Session Modification procedure 來通知核網 UE 本身支援哪些 Packet filter。
  • UPF 會對 DL 封包進行分類並標記,當 SMF 收到 PDU Session Modification 或是 PDU Session Establishment Request 時,SMF 也會通知 UPF 要更新對應的 QoS Rule。
  • 如果 UE 沒有找到 Matching QoS rule,那麼 UE 會丟棄這個 UL 封包。

核心網路中的 QoS 設計

QoS rules 套用時機

當 UE 發起 PDU establishment request,SMF 會收到由 AMF 發送的 Nsmf_PDUSession_CreateSMContext,這時 SMF 需要做:

  • 使用當前資訊向 PCF 詢問 policy decision
  • 根據 decision 建構相關訊息:
    • PFCP 訊息用於通知 UPF 套用相關的 PDR、QER、FAR...
    • NGAP 訊息用於告知 RAN 需要為 UE 分配多少資源(DRB)
    • NAS 訊息用於告知 UE 它將會使用哪一些 QoS 策略

此外,QoS 會在以下場景需要修改:

1. PDU Session Modification
有可能是:

  • UE 發起
  • RAN 發現無法處理當前的 QoS 需求,由 RAN 發起

2. PCF 發起 SM Policy Association Modification procedure

取自 TS 29.513 Figure 5.2.2.2-1 Interactions between SMF, PCF and CHF for PCF-initiated SM Policy Association
Modification procedure

這個流程有可能是因為 UE 的 Subscriber information 更新所引起(更新後發現 UE 不符合當前 QoS 的資格)。

3. [SBI] Nsmf_PDUSession_UpdateSMContext

總結

本篇提到的內容基本上都可以在 TS 23.501 找到,但筆者認為規格書的介紹實在過於抽象、難以理解,所以寫了一份筆記希望可以幫助大家學習。
順帶一提,在過程中我也發現原來 LinkedIn 上有這麼多 5G 相關的學習資源,有很多核心網路與 RAN 的概念都可以透過滑 LinkedIn 學會,算是意外之中的收穫(?)

References


上一篇
5G State Management
下一篇
5G Security
系列文
5G 核心網路與雲原生開發之亂彈阿翔36
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言